home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / devel / tcl / tclx7_31.z / tclx7_31 / tcldev / tclX7.3a-p1 / tktests / signal.test next >
Encoding:
Text File  |  1993-11-19  |  1.8 KB  |  64 lines

  1. #
  2. # signal.test
  3. #
  4. # Tests for the Tk signal handling.
  5. #---------------------------------------------------------------------------
  6. # Copyright 1993 Karl Lehenbauer and Mark Diekhans.
  7. #
  8. # Permission to use, copy, modify, and distribute this software and its
  9. # documentation for any purpose and without fee is hereby granted, provided
  10. # that the above copyright notice appear in all copies.  Karl Lehenbauer and
  11. # Mark Diekhans make no representations about the suitability of this
  12. # software for any purpose.  It is provided "as is" without express or
  13. # implied warranty.
  14. #------------------------------------------------------------------------------
  15. # $Id: signal.test,v 3.0 1993/11/19 07:01:17 markd Rel $
  16. #------------------------------------------------------------------------------
  17. #
  18.  
  19. foreach i [winfo children .] {
  20.     destroy $i
  21. }
  22.  
  23. #
  24. # Alarm signal handler.
  25. #
  26. proc SignalAlarmHandler {signal} {
  27.     signal default $signal
  28.     puts "Got $signal"
  29.  
  30.     toplevel .signalHand
  31.     label .signalHand.label -borderwidth 6 -relief sunken \
  32.          -text "Received $signal"
  33.     button .signalHand.dismiss  -text "Dismiss" \
  34.         -command {destroy .signalHand}
  35.  
  36.     pack configure .signalHand.label .signalHand.dismiss -fill x
  37.     grab .signalHand
  38. }
  39.  
  40. #
  41. # Callback to start timer.
  42. #
  43. proc SignalTimerCB {} {
  44.     signal trap SIGALRM {SignalAlarmHandler %S}
  45.     alarm 1
  46. }
  47.  
  48. #
  49. # Main program.  Setup form with button to start signal handler.
  50. #
  51.  
  52. set title {Extended Tk Signal Handler Test}
  53.  
  54. frame .signalTest
  55.  
  56. label .signalTest.title -borderwidth 6 -relief sunken -text $title
  57.  
  58. button .signalTest.alarm -text "Alarm in 1 second" -command SignalTimerCB
  59. button .signalTest.exit  -text "Exit" -command exit
  60.  
  61. pack configure .signalTest .signalTest.title \
  62.         .signalTest.alarm .signalTest.exit \
  63.         -fill x
  64.